<求教>析构函数到底有什么必要用呢

来源:百度知道 编辑:UC知道 时间:2024/05/31 13:46:04
记得析构函数好像是拿来释放内存空间的

而且经常为空

请问析构函数是不是有必要用呢?

非常有必要。不过请注意了,释放内存空间,如果你没有用到内存空间那么自然就不需要释放了,那么就不需要析构函数了,这才是你觉得没必要的原因。

那么c++里面哪里会用到这个——唯一的一个是指针。只有当你new了一个n大小的指针的时候,你才需要去delete这个指针,这时候如果指针是成员变量的话那么你就需要在析构函数里面delete一下了。

然后其实还有一种可能:进行一些关闭的操作。比如你用到文件流了,这个文件流在对象存在的时候一直没关闭,如果对象已经不存在了那不是关不了了?这时候你就需要用析构函数了。在析构函数里面关闭文件流就可以确保这个文件流被正常关闭了。

当然大多数情况下,不用管它就可以了。凡是c++本身的类,没有特别指明的,都是不需要你去管析构的,就算其中用到了指针那也是包装好了的。

一般情况下类的析构函数里面都是释放内存资源,而析构函数不被调用的话就会造成内存泄漏。现在有些编程工具可以自动回收,有些不行,最好还是写下!